package com.qf.openapi.web.master.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.qf.openapi.web.master.dao.SystemParamterDao;
import com.qf.openapi.web.master.entity.Api;
import com.qf.openapi.web.master.entity.SystemParamter;
import com.qf.openapi.web.master.service.SystemParamterService;
import com.qf.openapi.web.master.utils.Constants;
import com.qf.openapi.web.master.vo.ResultVo;
import com.qf.openapi.web.master.vo.TableVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Slf4j
@Service
public class SystemParamterServiceImpl implements SystemParamterService {
    
    @Autowired
    private SystemParamterDao systemParamterDao;
    
    @Override
    public TableVo<SystemParamter> getSystemParamterByCondition(Integer page, Integer limit, SystemParamter systemParamter) {
        PageHelper.startPage(page, limit);
        List<SystemParamter> data = systemParamterDao.getSystemParamterByCondition(systemParamter);
    
        long total = new PageInfo<>(data).getTotal();
    
        return TableVo.ok((int) total, data);
    }
    
    @Override
    public ResultVo addSystemParamter(SystemParamter systemParamter) {
        log.debug("保存的用户信息为：systemParamter={}", systemParamter);
    
        Integer integer = systemParamterDao.insertSystemParamter(systemParamter);
    
        if (integer == 1) {
            return new ResultVo(Constants.SUCCESS_CODE, "系统参数添加成功！");
        } else {
            return new ResultVo(Constants.FAIL_CODE, "系统参数添加失败！");
        }
    }
    
    @Override
    public ResultVo updateSystemParamter(SystemParamter systemParamter) {
        log.debug("保存的用户信息为：systemParamter={}", systemParamter);
    
        Integer integer = systemParamterDao.updateSystemParamterById(systemParamter);
    
        if (integer == 1) {
            return new ResultVo(Constants.SUCCESS_CODE, "系统参数更新成功！");
        } else {
            return new ResultVo(Constants.FAIL_CODE, "系统参数更新失败！");
        }
    }
    
    @Override
    public ResultVo delSystemParamter(Integer[] ids) {
        Integer integer = systemParamterDao.delSystemParamterByIds(ids);
    
        if (integer != 0) {
            return new ResultVo(Constants.SUCCESS_CODE, "接口删除成功！");
        } else {
            return new ResultVo(Constants.FAIL_CODE, "系统参数删除失败！");
        }
    }
}
